package cn.lingyangwl.agile.infra.datamanage.mode.entity;

import cn.lingyangwl.agile.model.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * 数据集的列
 *
 * @author shenguangyang
 */
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@TableName("infra_dataset_column")
public class DatasetColumn extends BasePlusPO {
	/**
	 * ID
	 */
    @TableId
	private Long id;
	
	/**
	 * 数据集id
	 */
	private Long datasetId;
	
	/**
	 * 列名称
	 */
	private String columnName;
	
	/**
	 * 列描述
	 */
	private String columnComment;
	
	/**
	 * 列类型
	 */
	private String columnType;
	
	/**
	 * 列长度
	 */
	private Integer columnLength;
	
	/**
	 * 列小数点
	 */
	private Integer columnScale;
	
	/**
	 * 属性名称
	 */
	private String attrName;
	
	/**
	 * 属性类型
	 */
	private String attrType;
	
	/**
	 * 是否主键
	 */
	private Boolean isPk;
	
	/**
	 * 是否自增
	 */
	private Boolean isIncrement;
	
	/**
	 * 是否必填
	 */
	private Boolean isNullable;
	
	/**
	 * 是否为插入字段
	 */
	private Boolean isInsert;
	
	/**
	 * 是否编辑字段
	 */
	private Boolean isEdit;
	
	/**
	 * 是否列表字段
	 */
	private Boolean isList;
	
	/**
	 * 是否查询字段
	 */
	private Boolean isQuery;
	
	/**
	 * 是否详情字段
	 */
	private Boolean isDetail;
	
	/**
	 * 查询方式（等于、不等于、大于、小于、范围）
	 */
	private String queryType;
	
	/**
	 * 显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件）
	 */
	private String htmlType;
	
	/**
	 * 字典类型
	 */
	private String dictType;
	
	/**
	 * 排序
	 */
	private Integer sortNo;

    public static LambdaQueryWrapper<DatasetColumn> lqw() {
		return Wrappers.lambdaQuery();
	}
}
